package com.sx.sx1.lintcode.day717;
import java.util.*;
public class LC1526 {


    static   class UndirectedGraphNode {
          int label;
          List<UndirectedGraphNode> neighbors;
          UndirectedGraphNode(int x) {
              label = x;
             neighbors = new ArrayList<UndirectedGraphNode>();
         }
      }


    static class Solution {
        /**
         * @param root: the tree
         * @return: pre order of the tree
         */
        public List<Integer> preorder(UndirectedGraphNode root) {
            List<Integer> ans = new ArrayList<>();
            Stack<UndirectedGraphNode> s = new Stack<>();
            s.add(root);
            while (!s.isEmpty()){
                UndirectedGraphNode node = s.pop();
                ans.add(node.label);
                int size = node.neighbors.size();
                for (int i = size-1; i >=0 ; i--) {
                    s.add(node.neighbors.get(i));
                }
            }
            return ans;
        }
    }

}



/*
LintCode-Logo
搜索题目、标签、题集
中文
avatar
您有197条未读消息，请及时查看
1526 · N叉树的前序遍历
算法
简单
通过率
84%

题目
题解12
笔记
讨论16
排名
记录
描述
给定一个 N 叉树，返回其节点值的前序遍历。

最短时间刷“透”算法面试：《66页算法宝典》.pdf

微信添加【jiuzhangfeifei】备注【66】领取


样例
样例

输入 : {1,3,2,4#2#3,5,6#4#5#6}
输出: [1,3,5,6,2,4]
说明：
这棵树如下所示（左侧的）
图片

挑战
递归法很简单，你可以使用迭代法完成此题吗?

标签
相关题目

1525
N叉树的后序遍历
简单

1526
N叉树的前序遍历
简单
推荐课程

系统设计 System Design 2024版
数据库、API、GFS、视频流等16大系统设计详解，实战练习拿下面试/晋升“拦路虎”
已开启智能提示
发起考试
15 分 00 秒
123456789101112131415161718192021



    控制台
            历史提交

 */